package com.wh.maker.template.model;


import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 模板生成文件配置
 *
 * @files 文件信息配置列表
 * <br>       - path: 文件路径
 * <br>       - filters: 文件过滤器配置列表
 * @fileGroupConfig 文件分组信息
 * <br>     - condition: 文件分组条件
 * <br>       - groupKey: 文件分组键
 * <br>       - groupName: 文件分组名称
 */
@Data
public class TemplateMakerFileConfig {

    private List<FileInfoConfig> files;

    private FileGroupConfig fileGroupConfig;

    /**
     * 文件信息配置
     * @path 文件路径
     * @filters 文件过滤器配置列表
     */
    @NoArgsConstructor
    @Data
    public static class FileInfoConfig {
        //文件路径
        private String path;
        //文件过滤列表
        private List<FileFilterConfig> filters;
        //文件生成条件
        private String condition;
    }

    /**
     * 文件分组信息
     * @condition 文件分组条件
     * @groupKey 文件分组键
     * @groupName 文件分组名称
     */
    @NoArgsConstructor
    @Data
    //文件分组信息
    public static class FileGroupConfig {
        private String condition;
        private String groupKey;
        private String groupName;
    }
}
